package com.fileupload.config;

import lombok.Data;

/**
 * 监控组配置类
 * 包含监控目录、文件后缀等配置信息
 * @author 小乙
 */
@Data
public class MonitorConfig {
    private String name;                // 监控组名
    private String enable;              // 是否启用（yes或no）
    private String monitorDir;          // 监控目录
    private String monitorFileSuffix;   // 监控文件后缀
    private String uploadFileSuffix;    // 上传文件后缀
    private String serversPrimer;       // 上传服务器
    private String serverDispatchMode;  // 上传服务器分配模式
    private String finishAct;           // 上传完成后文件处理（delete、move）
    private String moveTo;              // 上传完成后文件存放路径
    private int maxRetries = 3;         // 最大重试次数
    private long retryDelay = 1000L;    // 重试延迟时间（毫秒）
    private boolean createFinishFlag = false; // 是否创建完成标记文件
    private String archiveDir;          // 归档目录
    
    // 性能优化参数
    private int batchSize = 50;         // 批处理大小
    private long batchDelayMs = 100;    // 批处理延迟（毫秒）
    private int maxProcessRate = 100;   // 每秒最大处理事件数
    private int maxDepth = 5;           // 最大监控深度
    private int maxDirectories = 1000;  // 最大监控目录数
    private int incrementalScanInterval = 60; // 增量扫描间隔（秒）
}